Object oriented and bytecode based software development platforms including the Oracle JAVA™ platform and the MICROSOFT.NET platform, have gained wide acceptance for developing enterprise class software applications. Bytecode based software provides cross-platform and cross-language compatibility and eases the networked integration of software applications.
Remote method invocation available for the platforms, like Oracle Remote Method Invocation (RMI) and the MICROSOFT.NET Remoting system, and messaging services like the Oracle JAVA™ Messaging Service (JMS) or the MICROSOFT Messaging Queue ease the creation of distributed and loosely coupled architectures.
Approaches like service oriented architecture (SOA) use these features to provide flexible application architectures which can be adapted to rapidly changing market demands.
Albeit, this flexibility eases building and updating the functionality of applications, it constitutes a challenge for conventional performance monitoring and tracing tools which traditionally consider the scope of an isolated application. Most existing tools are not prepared to trace transactions over the borders of threads or different virtual machines. Following the execution path of a transaction over the borders of threads, processes or different host systems is essential for tracing complete end-to-end transactions, which may be processed by a chain of different application servers that may communicate in various ways. Therefore, it is desirable to develop methods for tracing transactions across computing boundaries, including a mainframe computing environment, and preferably without modifications to source code on any monitored platforms.
Information that depicts the different processing stages on different application servers and provides specific performance information for the processing stages is a precondition for performance analysis of distributed applications. To provide such information, it is required to correlate isolated trace information acquired from the different servers participating in a transaction, to depict a consistent end-to-end transaction. The ability to trace transactions across multiple application execution environments, including both distributed and mainframe environments, provides end-to-end visibility for the entire span of the transaction and thereby allows IT departments to locate precise cause of a slowdown in their application.
This section provides background information related to the present disclosure which is not necessarily prior art.
The drawings described herein are for illustrative purposes only of selected embodiments and not all possible implementations, and are not intended to limit the scope of the present disclosure. Corresponding reference numerals indicate corresponding parts throughout the several views of the drawings.